<?php

/**
 * マイページアカウント登録・更新API<br />
 *
 * マイページアカウント登録・更新API
 *
 * @package apaman
 * @author M.Matsutani
 * @copyright コピーライト(要確認)
 */
class Mypage_AccountController extends Apm_Controller_Base
{
	/**
	 * マイページアカウント登録アクション
	 */
	public function insaccountAction()
	{
		$this->_model = new Mypage_Model_Account();

		// パラメータの取得
		$this->_params = $this->getParameters();

		//登録処理
		$result = $this->_model->insertMypageAccount($this->_params);
		$res = $result;

		// ユーザコードの取得
		$this->_data['userCd'] = array();
		$this->_data['userCd'] = $this->_model->getUserCd($this->_params);

		if ($result == "0002"){
			$this->sendMail($this->_params, "INSERT");
		}

		// 返却用データ作成
		$resResult = array();
		$resResult = array('data' => $this->_data['userCd'],'api_result' => array('result' => $res));

		// 返却処理
		$this->_api_data = $resResult;
		$this->display();
	}


	/**
	 * マイページアカウント更新アクション
	 */
	public function updaccountAction()
	{
		// パラメータの取得
		$this->_params = $this->getParameters();

		//モデルのインスタンス
		$this->_model = new Mypage_Model_Account();

		//更新処理
		$result = $this->_model->updateMypageAccount($this->_params);

		// ユーザコードの返却
		$Ucd = $this->_params['MyUcd'];

		if ($result == "0003"){
			$this->sendMail($this->_params, "UPDATE");
		}
        // 返却用データ作成
		$resResult = array();
		$resResult = array('data' => $Ucd,'api_result' => array('result' => $result));


		// 返却処理
		$this->_api_data = $resResult;
		$this->display();

	}


/**
	 * メールを送信する
	 *
	 * @param string $params 必要なパラメータ
	 * @param string $type アップデートかインサートか
	 */
	private function sendMail($params, $type)
	{
		$fromAddress = Apm_Config_Mypage::MAIL_FROM;
		$toAddress = $params['eID'];
		$strSex = $this->GetStrSexValue($params['eSex']);
		$strAge = $this->GetStrAgeValue($params['eAge']);

		if ($type == "INSERT"){
			//新規登録
			$subject = "【アパマンショップマイページ】登録完了";
		}else{
			//更新
			$subject = "【アパマンショップマイページ】登録内容変更完了";
		}
		$body = '';

		//携帯 Or ＰＣ チェック
		$isMobile = Apm_Otheritems::CheckMobileAddress($toAddress);

		if ($isMobile)
		{
			//携帯
			$body .= $params['eNickName'] . "様\r\n";
			$body .= "\r\n";
			if ($type == "INSERT"){
				//新規登録
				$body .= "アパマンショップマイページへの登録が完了しました\r\n";
				$body .= "\r\n";
				$body .= "■ID（メールアドレス）：\r\n";
				$body .= $toAddress . "\r\n";
				$body .= "※パスワードは表示しません\r\n";
				$body .= "■ニックネーム：\r\n";
				$body .= $params['eNickName'] . "\r\n";
				$body .= "■性別：" . $strSex . "\r\n";
				$body .= "■年齢：" . $strAge . "\r\n";
				$body .= "■アパマンショップからの情報配信：";
				if ($params['eInfo'] == "1")
				{
					if($params['eHTMLMail'] == "1")
					{
						$body .= "HTMLメールを希望する\r\n";
					}else{
						$body .= "TEXTメールを希望する\r\n";
					}
				}else{
					$body .= "希望しない\r\n";
				}
			}else{
				//更新
				$body .= "アパマンショップマイページ登録内容の変更を完了しました。\r\n";
			}
			$body .= "\r\n";
			$body .= Apm_Config_Mypage::MAIL_MYPAGE_FOOT_MB;

		}
		else
		{
			//PC
			$body .= "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\r\n";
			if ($type == "INSERT"){
				//新規登録
				$body .= "　　　　　【アパマンショップマイページ】登録完了しました\r\n";
			}else{
				//更新
				$body .= "　　　　　【アパマンショップマイページ】登録内容を変更しました\r\n";
			}
			$body .= "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\r\n";
			$body .= "※このメールは「アパマンショップマイページ」に登録をされた方にお送りしております。\r\n";
			$body .= "お心当たりのない方は、お手数ですがこのメールにその旨ご記入の上ご返信下さい。\r\n";
			$body .= "\r\n";
			$body .= $params['eNickName'] . "様\r\n";
			$body .= "\r\n";
			if ($type == "INSERT"){
				//新規登録
				$body .= "日頃はアパマンショップをご利用いただきまして、誠にありがとうございます。\r\n";
				$body .= "このメールアドレスをアパマンショップマイページご登録完了時に確認のため、送信させていただいております。\r\n";
				$body .= "\r\n";
				$body .= "【お客さまが登録された情報】\r\n";
			}else{
				//更新
				$body .= "【変更後の登録情報】\r\n";
			}
			$body .= "────────────────────────────────\r\n";
			$body .= "ID（メールアドレス）：　" . $toAddress . "\r\n";
			$body .= "パスワード：　お客さまが入力されたパスワードです\r\n";
			$body .= "ニックネーム：　" . $params['eNickName'] . "\r\n";
			$body .= "性別：　" . $strSex ."\r\n";
			$body .= "年齢：　" . $strAge ."\r\n";
			$body .= "アパマンショップからの情報配信：";
			if ($params['eInfo'] == "1")
			{
				if($params['eHTMLMail'] == "1")
				{
					$body .= "HTMLメールを希望する\r\n";
				}else{
					$body .= "TEXTメールを希望する\r\n";
				}
			}else{
				$body .= "希望しない\r\n";
			}
			$body .= "────────────────────────────────\r\n";
			$body .= "\r\n";
			$body .= Apm_Config_Mypage::MAIL_MYPAGE_FOOT;
		}

		$success = Apm_Otheritems::SendMail($toAddress, $fromAddress, $subject, $body);

		if ($success == false)
		{
			//TODO:エラー処理
			//とりあえずログに出力
			__log_debug(__FILE__, __LINE__, __METHOD__, $toAddress . "へのメール送信エラー");
		}
	}


/**
	 * 性別を文字列で返す
	 *
	 * @param string $sex 性別
	 */
	private function GetStrSexValue($sex)
	{
		$strSex = "";

		switch ($sex)
		{
			case "1":
				$strSex = "男";
				break;
			case "2":
				$strSex = "女";
				break;
			default:
				$strSex = "－";
				break;
		}
	return $strSex;
	}


/**
	 * 年齢を文字列で返す
	 *
	 * @param string $age 年齢
	 */
	private function GetStrAgeValue($age)
	{
		$strAge = "";

		switch ($age)
		{
			case "1":
				$strAge = "～19";
				break;
			case "2":
				$strAge = "20～29";
				break;
			case "3":
				$strAge = "30～39";
				break;
			case "4":
				$strAge = "40～49";
				break;
			case "5":
				$strAge = "50～59";
				break;
			case "6":
				$strAge = "60～";
				break;
			default:
				$strAge = "－";
				break;
		}
	return $strAge;
	}
}
?>
